package com.zisuyi.game.sdk.net.bean;

import com.google.gson.annotations.SerializedName;

import java.io.Serializable;
import java.util.List;

public class UserInfoBean {

    /**
     * invitee_coin : 0
     * inviter_coin : 0
     * secret : string
     * share_link : string
     */

    @SerializedName("invitee_coin")
    private Integer inviteeCoin;
    @SerializedName("inviter_coin")
    private Integer inviterCoin;
    @SerializedName("secret")
    private String secret;
    @SerializedName("share_link")
    private String shareLink;
    @SerializedName("share_code")
    private String shareCode;
    @SerializedName("redeem")
    private List<RedeemDTO> redeem;
    @SerializedName("invited_code")
    private String invitedCode;
    @SerializedName("code")
    private String code;

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getInvitedCode() {
        return invitedCode;
    }

    public void setInvitedCode(String invitedCode) {
        this.invitedCode = invitedCode;
    }

    public String getShareCode() {
        return shareCode;
    }

    public void setShareCode(String shareCode) {
        this.shareCode = shareCode;
    }

    public Integer getInviteeCoin() {
        return inviteeCoin;
    }

    public void setInviteeCoin(Integer inviteeCoin) {
        this.inviteeCoin = inviteeCoin;
    }

    public Integer getInviterCoin() {
        return inviterCoin;
    }

    public void setInviterCoin(Integer inviterCoin) {
        this.inviterCoin = inviterCoin;
    }

    public String getSecret() {
        return secret;
    }

    public void setSecret(String secret) {
        this.secret = secret;
    }

    public String getShareLink() {
        return shareLink;
    }

    public void setShareLink(String shareLink) {
        this.shareLink = shareLink;
    }

    public List<RedeemDTO> getRedeem() {
        return redeem;
    }

    public void setRedeem(List<RedeemDTO> redeem) {
        this.redeem = redeem;
    }

    public static class RedeemDTO implements Serializable {
        /**
         * amount : 0
         * conditions : [{"id":0,"key":"string","message":"string","value":"string"}]
         * currency : string
         * diamond : 0
         * id : 0
         * symbol : string
         * type : string
         */

        @SerializedName("amount")
        private Integer amount;
        @SerializedName("currency")
        private String currency;
        @SerializedName("diamond")
        private Integer diamond;
        @SerializedName("id")
        private Integer id;
        @SerializedName("symbol")
        private String symbol;
        @SerializedName("type")
        private String type;
        @SerializedName("remaining_count")
        private int remainingCount;
        @SerializedName("conditions")
        private List<ConditionsDTO> conditions;

        public int getRemainingCount() {
            return remainingCount;
        }

        public void setRemainingCount(int remainingCount) {
            this.remainingCount = remainingCount;
        }

        public Integer getAmount() {
            return amount;
        }

        public void setAmount(Integer amount) {
            this.amount = amount;
        }

        public String getCurrency() {
            return currency;
        }

        public void setCurrency(String currency) {
            this.currency = currency;
        }

        public Integer getDiamond() {
            return diamond;
        }

        public void setDiamond(Integer diamond) {
            this.diamond = diamond;
        }

        public Integer getId() {
            return id;
        }

        public void setId(Integer id) {
            this.id = id;
        }

        public String getSymbol() {
            return symbol;
        }

        public void setSymbol(String symbol) {
            this.symbol = symbol;
        }

        public String getType() {
            return type;
        }

        public void setType(String type) {
            this.type = type;
        }

        public List<ConditionsDTO> getConditions() {
            return conditions;
        }

        public void setConditions(List<ConditionsDTO> conditions) {
            this.conditions = conditions;
        }

        public static class ConditionsDTO implements Serializable {
            /**
             * id : 0
             * key : string
             * message : string
             * value : string
             */

            @SerializedName("id")
            private Integer id;
            @SerializedName("key")
            private String key;
            @SerializedName("message")
            private String message;
            @SerializedName("value")
            private String value;
            @SerializedName("complete")
            private String complete;

            public Integer getId() {
                return id;
            }

            public void setId(Integer id) {
                this.id = id;
            }

            public String getKey() {
                return key;
            }

            public void setKey(String key) {
                this.key = key;
            }

            public String getMessage() {
                return message;
            }

            public void setMessage(String message) {
                this.message = message;
            }

            public String getValue() {
                return value;
            }

            public void setValue(String value) {
                this.value = value;
            }

            public String getComplete() {
                return complete;
            }

            public void setComplete(String complete) {
                this.complete = complete;
            }
        }
    }
}
